Method and system for providing feedback for docking a content pane in a host window

ABSTRACT

A method and system for providing feedback for docking a content pane in a host window is disclosed. The method and system include providing a docking map. The docking map includes a plurality of docking areas therewithin. The method and system also include positioning a thumbnail associated with a content pane over one of the plurality of docking areas. Finally, the method and system include providing a hotspot on the thumbnail. The hotspot indicates that the content pane can be dropped into the one docking area. The feedback enables a user to precisely dock a content pane. In addition, a user can predict the final configuration of the host window. In addition, the docking of the content pane can determine complex configurations within a host window including nested splitters and notebooks whose tabs are oriented in any direction.

RELATED CO-PENDING PATENT APPLICATION

[0001] The present invention is related to a co-pending U.S.application, Ser. No. 09/822,174, filed on Mar. 29, 2001, and entitled“Method an Feedback Concerning A Content Pane To Be Docked In A HostWindow.”

FIELD OF THE INVENTION

[0002] The present invention relates generally to docking and undockinga content pane in a host window of a computer, and more particularly toproviding feedback for docking the content pane in the host window.

BACKGROUND OF THE INVENTION

[0003] Computer systems, which utilize a graphical user interface in awindows-like environment, will typically display a plurality of windows.Each of the windows can be moved via a pointing device. Typically eachwindow has a separate existence on a graphical user interface desktopwith its own content pane, docking pane, borders, title bar, and toolbar. A “content pane” is a pane that has arbitrary contents such astext. A content pane can be “undocked” and “docked” by moving it fromone window into another window, referred to as a “host window.” The usermoves or “drags” the content pane using a dragging gesture of the mouse.A user can also move the content pane with arrow keys on a keyboard.When a content pane is docked, it may rest in a docking pane. A “dockingpane” is an area inside the host window, which can host the contentpane. So a content pane is undocked from the docking pane of one windowand then docked or redocked into the docking pane of another window. Toillustrate the docking and undocking feature, refer now to the followingdescription in conjunction with the accompanying figures.

[0004]FIGS. 1 and 2 illustrate a conventional docking and undocking of acontent pane 12 into a host window 10. In FIG. 1, docking and undockingfeedback is provided by a dragged gray or black outline 14 through whichthe underlying components can be seen. This outline 14 shows the sizeand orientation of a window whether docking or undocking. When undockingthe content pane 12, the outline 14 is a thick granular gray border withthe size and orientation of the resulting window. In FIG. 2, whendocking the content pane 12, the outline 15 is a thin black border withthe size and orientation (but not the precise docking area) of theresulting docking pane. A result of docking (not shown) is a borderregion separated from the center of the host window with a splitter bar.A splitter bar, or “splitter,” divides two panes arranged horizontallyor vertically. The problems with the conventional docking and undockingof content panes utilizing the conventional method are described hereinbelow.

[0005] Docking occurs only in the four border regions of the hostwindow, not in the center of the host window. In a border region,multiple docking panes can be arranged in only one direction. Dockingareas are limited to four docking areas. In the direction of thesplitter bar, docking always occurs outside the split panes. Given avertical splitter bar, for example, the left-top, left-bottom,right-top, and right-bottom docking areas are not available. Thefeedback during docking and undocking shows only the orientation andsize of the resulting docked content pane, but not how the existingdocking panes will be moved and resized.

[0006] One conventional solution uses a technique where a transparentrectangle is displayed. The outline of the transparent rectangle changesshape and size to indicate a dockable docking area. Another conventionalsolution also uses this technique in combination with displayingdifferent cursors to show dockable docking areas. Nevertheless, usersstill have difficulty predicting the arrangement of views that willresult if they drop a view at a given location, because the feedbackduring docking and undocking does not show how the existing dockingpanes will be moved and resized.

[0007] Furthermore, a point on the mouse cursor, or a point on theobject being dragged, called the hotspot, must be over a particular areaon the screen to get a particular arrangement. Both the hotspot and thedocking areas on the screen must be visible to the user to moreaccurately predict the resulting arrangement. Otherwise, when a contentpane is placed in an ambiguous area, such as between two border regions,it is unpredictable where the content pane will be ultimately docked.Therefore, the visual feedback to the user must give the user anadequate indication of the ultimate result of the docking. Finally,there are typically areas in a host window that are not eligible fordocking, and the locations of these areas are not clear unless both thehotspot and the docking areas on the screen are visible.

[0008] Accordingly, what is needed is a method and system for overcomingthe above-identified problems. The present invention addresses such aneed.

SUMMARY OF THE INVENTION

[0009] A method and system for providing feedback for docking a contentpane in a host window is disclosed. The method and system compriseproviding a docking map. The docking map includes a plurality of dockingareas therewithin. The method and system also include positioning athumbnail associated with a content pane over one of the plurality ofdocking areas. Finally, the method and system include providing ahotspot on the thumbnail. The hotspot indicates that the content panecan be dropped into the one docking area. The feedback enables a user toprecisely dock a content pane. In addition, a user can predict the finalconfiguration of the host window. In addition, the docking of thecontent pane can determine complex configurations within a host windowincluding nested splitters and notebooks whose tabs are oriented in anydirection.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010]FIGS. 1 and 2 illustrate a conventional docking and undocking of acontent pane into a host window.

[0011]FIG. 3 illustrates a hardware environment used to implement apreferred embodiment of the present invention.

[0012]FIG. 4 is a diagram of a host window comprising a content pane,docking panes, docking maps, and a thumbnail in accordance with anembodiment of the present invention.

[0013]FIG. 5 is a simple flow chart for providing feedback for docking acontent pane in a host window in accordance with an embodiment of thepresent invention.

[0014]FIG. 6 illustrates a docking map of FIG. 4 in accordance with anembodiment of the present invention.

[0015] FIGS. 7-9 show resulting notebook configurations of a dockingpane of FIG. 6 after docking a content pane in accordance with anembodiment of the present invention.

[0016]FIGS. 10 and 11 show resulting docking pane configurations withinthe host window of FIG. 6 after docking a content pane in accordancewith an embodiment of the present invention.

[0017]FIG. 12 illustrates a docking map of FIG. 4 in accordance with anembodiment of the present invention.

[0018] FIGS. 13-15 show resulting configurations of a new notebook of adocking pane of FIG. 12 after docking a content pane in accordance withan embodiment of the present invention.

[0019]FIG. 16 illustrates a docking map of FIG. 4 in accordance with anembodiment of the present invention.

[0020]FIGS. 17 and 18 show resulting configurations of a content paneand docking panes of FIG. 16 after docking a content pane in accordancewith an embodiment of the present invention.

[0021]FIG. 19 illustrates the thumbnail, content pane, and docking panesof FIG. 4 in accordance with a preferred embodiment of the presentinvention.

[0022]FIG. 20 illustrates the content pane of FIG. 4 in accordance withan embodiment of the present invention.

DETAILED DESCRIPTION

[0023] Definitions

[0024] The following terms are defined in accordance with the presentinvention.

[0025] Host window—a window that can host other windows or views. A hostwindow is also referred to as a parent window.

[0026] Docking pane—a pane or area inside the host window that can hostone or more content panes or notebooks. A docking pane is also referredto as a docking frame.

[0027] Content pane—a pane that has content such as text and that can bemoved from one docking pane to another. A content pane is amodal; thatis, its appearance does not preclude interaction with other contentpanes or other GUI controls. A content pane is also referred to as aview.

[0028] Notebook—a stack of two or more content panes where each contentpane has a tab that can be selected to make the contents of the contentpane visible.

[0029] Docking area—an area within a docking pane into which a contentpane can be dropped for docking. Each docking area has specificfunctions such as docking the content pane in a notebook with otherexisting content panes in a docking pane, or creating a new docking paneto host the content pane.

[0030] Drag window—a window that represents the content pane beingdragged when it is not eligible to be docked.

[0031] Thumbnail—a window that is associated with the content pane andindicates the docking or floating potential of the content pane. Thethumbnail represents the content pane being dragged into a docking area,a pointer, and the final configuration of the host window. A drag windowshrinks down to or is replaced by a thumbnail when the content panebeing dragged is eligible to be docked.

[0032] Hotspot—a portion of the thumbnail that indicates when a contentpane can be dropped into a docking area. The hotspot is visibly distinctfrom other portions of the thumbnail to allow for precise dropping ofthe content pane into a docking area for docking.

[0033] Docking—adding a content pane to a docking pane.

[0034] Dropping—completing a drag. A content pane can be dropped into adocking area when the hotspot of the thumbnail is positioned over thedocking area. A content pane can also be dropped over the desktop toundock or float it in its own window. The content pane can then bedropped typically when the mouse button, used to grab the content pane,is released.

[0035] Floating—also known as undocking, moving a content pane to adocking pane of its own, also referred to as its floating frame.

[0036] Toolbar—a pane with toolbar buttons that can be docked orfloated.

[0037] Splitter—a bar that divides two docking panes arrangedhorizontally or vertically.

[0038] Present Invention

[0039] The present invention relates generally to docking and undockinga content pane in a host window of a computer, and more particularly toproviding feedback for docking the content pane in the host window. Thefollowing description is presented to enable one of ordinary skill inthe art to make and use the invention and is provided in the context ofa patent application and its requirements. Various modifications to thepreferred embodiment and the generic principles and features describedherein will be readily apparent to those skilled in the art. Thus, thepresent invention is not intended to be limited to the embodiment shownbut is to be accorded the widest scope consistent with the principlesand features described herein.

[0040] A method and system in accordance to the present invention forproviding feedback for docking a content pane in a host window isdisclosed. The method and system provide one or more docking maps thatinclude a plurality of docking areas into which a content pane can be,dropped for docking into a host window. To facilitate in the dockingprocedure, a thumbnail associated with the content pane is provided. Athumbnail is utilized to represent the arrangement of the host window ifthe user drops the content pane into a docking area. One embodiment of athumbnail is described in a copending U.S. application Ser.No.09/822,174, filed on Mar. 29, 2001, and entitled “Method and Systemfor Providing Feedback Concerning A Content Pane To Be Docked In A HostWindow.” More specifically in accordance with this application, a systemand method provide a representation of a position of the content panewithin the host window and utilizes the thumbnail to indicate theposition and the orientation of the content pane within the host window.The content pane is docked according to the representation and allowsfor docking to occur beyond the border regions. The thumbnail feedbackwhen docking shows how existing docking panes will be moved and resized,as well as the orientation and relative size of the resulting dockingpane. Although the thumbnail effectively operates in accordance with itsstated purpose, there is always a desire to improve feedback to a userwhen utilizing content panes in a host window.

[0041] In a system in accordance with the present invention, a thumbnailhas a visible hotspot making it easier to position the content pane overone of the docking areas. The hotspot provides an indication that thecontent pane can be accurately dropped into one of the docking areas. Inaddition, the docking areas provide multiple configurations that dividethe docking pane with notebooks and splitters to position a content panebeing dropped in relation to existing content panes. As a result, a usercan precisely predict the final configuration of the host window, i.e.,how the content pane will be docked and how the docking panes willadjust. To more particularly describe the features of the presentinvention refer now to the following description in conjunction with theaccompanying figures.

[0042]FIG. 3 illustrates a hardware environment used to implement anembodiment of the present invention. As illustrated in FIG. 3, thepreferred embodiment of the present invention is implemented in acomputer 50. The computer 50 generally includes a processor 52, a memory54 such as a random access memory (RAM), a data storage device 56 (e.g.,hard drive, floppy disk drive, CDROM disk drive, etc.), a datacommunication device 58 (e.g., a modem, network interface device, etc.),a monitor 60 (e.g., CRT, LCD display, etc.), a pointing device 62 (e.g.,a mouse, a track ball, a pad or any other device responsive to touch,etc.) and a keyboard 64. It is envisioned that attached to the computer50 may be other devices such as read only memory (ROM), a video carddrive, printers, peripheral devices including local and wide areanetwork interface devices, etc. One of ordinary skill in the art willrecognize that any combination of the above components may be used toconfigure the computer 50.

[0043] The computer 50 operates under the control of an operating system(“OS”) 66, such as MVS™, AIX®, UNIX®, OS/2®, WINDOWS™, WINDOWS NT™,etc., which typically is loaded into the memory 104 during the computer50 start up (boot-up) sequence after power-on or reset. (AIX and OS/2are registered trademarks and MVS is a trademark of InternationalBusiness Machines Corporation in the United States, other countries, orboth. Windows and Windows NT are trademarks of Microsoft Corporation.UNIX is a registered trademark in the United States and/or othercountries licensed exclusively through X/Open Company Limited.) Inoperation, the OS 66 controls the execution by the computer 50 ofcomputer programs 68, including computer programs. Alternatively, amethod, system or computer readable medium in accordance with thepresent invention may be implemented with any one or all of the computerprograms 68 embedded in the OS 66 itself without departing from thescope of the invention. Preferably, however, the client programs areseparate from the computer programs.

[0044] The OS 66 and the computer programs 68 each comprise computerreadable instructions which, in general, are tangibly embodied in or arereadable from a media such as the memory 54, the data storage device 56and/or the data communications device 58. When executed by the computer50, the instructions cause the computer 50 to perform the stepsnecessary to implement the present invention. Thus, the presentinvention may be implemented as a method, system, or computer readablemedium using programming and/or engineering techniques to producesoftware, hardware, firmware, or any combination hereof.

[0045] In accordance with the present invention, various embodiments fora window docking are presented that allow for feedback of theconfigurations displayed on a graphical user interface of the computer50. Such a graphical user interface in a computer system may beimplemented via conventional programming techniques.

[0046] To describe the present invention in the context of a preferredembodiment, refer now to the following description in conjunction withthe accompanying Figures.

[0047]FIG. 4 is a diagram of a host window 100 comprising a content pane102, docking panes 104 and 106, docking maps 108-112, and a thumbnail114 in accordance with an embodiment of the present invention. Asillustrated in FIG. 4, the docking maps 108 and 110 overlay the dockingpanes 104 and 106, respectively, and the docking map 112 overlays asplitter 113. The thumbnail 114 is associated with the content pane 102and includes a hotspot 116. The number of content panes, docking panes,and splitters is arbitrary, and one of ordinary skill in the art wouldrecognize that any number of content panes and splitters could beutilized within the scope and nature of the present invention. The“Dockable Area Example” shown in FIG. 4 is intended to illustrate assimply as possible the characteristics of the present invention; thepreferred embodiment of the present invention applies to any computersoftware application with multiple content panes.

[0048]FIG. 5 is a simple flow chart for providing feedback for docking acontent pane in a host window in accordance with an embodiment of thepresent invention. First, referring to FIGS. 4 and 5 together, a dockingmap is provided, which includes a plurality of docking areastherewithin, via a step 120. The docking map can be any one of thedocking maps 108, 110, or 112 (FIG. 4). Next, a thumbnail 114 associatedwith a content pane 102 is positioned over one of the plurality ofdocking areas, via a step 122. A docking area 123 is an example of oneof the plurality of docking areas. A hotspot 116 is indicated on thethumbnail 114, wherein the hotspot 116 indicates that the content pane102 can be dropped into the one docking area, via a step 124.

[0049] The thumbnail 114 has three aspects. First, the thumbnail 114represents the content pane 102 as it is being dragged when it ispositioned over one of the plurality of docking areas, such as thedocking area 123. Second, the thumbnail 114 represents a pointer in thatthe thumbnail 114 appears in lieu of the pointer. The hotspot 116 on thethumbnail 114 accurately indicates that the content pane 102 can bedropped into the one docking area when the hotspot 116 is within theboundaries of a docking area. Third, the thumbnail 114 represents thefinal configuration of the host window 100 resulting from dropping thecontent pane 102 in a particular docking area. The thumbnail 114 isdescribed in more detail later in this application and more specificallyin relation to FIG. 19.

[0050] The docking maps 108112 include docking areas for three types ofpanes, respectively: the docking pane 104, which has an existingnotebook with a plurality of existing content panes; the docking pane106, which has an existing content pane and no existing notebook; and apane 113, which is a splitter. Generally, the docking areas of thedocking maps 108-112 determine configurations within a docking paneand/or docking pane configurations within the host window 100 in whichthe dragged content pane can be positioned in relation to other contentpanes using notebooks and splitters.

[0051]FIG. 6 illustrates the docking map 108 of FIG. 4 in accordancewith an embodiment of the present invention. The docking map 108includes docking areas 130-142 for docking the content pane 102 relativeto the docking pane 104. The docking pane 104 has a notebook with twocontent panes. One content pane is labeled with a save tab 125 and onecontent pane is labeled with a cut tab 126. As is shown, the save tab125 is selected so that a view of the save text is visible.

[0052] The docking areas 130-134 determine notebook configurationswithin the docking pane 104. Generally, dropping the content pane 102into one of the docking areas 130-134 places the content pane 102 intothe notebook of the docking pane 104 and configures the notebook. FIGS.7-9 show resulting notebook configurations the docking pane 104 of FIG.6 after docking the content pane 102 in accordance with an embodiment ofthe present invention. Referring to FIGS. 6 and 7, if the content pane102 is dropped into the docking area 130, the content pane 102 is placedinto the notebook and has an open tag 127 that is inserted into thefirst tab position from the left. Referring to FIGS. 6 and 8, it thecontent pane 102 is dropped into the docking area 132, the content pane102 is placed into the notebook and the open tag 127 is inserted intothe second tab position. Referring to FIGS. 6 and 9, if the content,pane102 is dropped into the docking area 134, the content pane 102 is placedinto the notebook and the open tag 127 is inserted into the third tabposition. Because a new content pane is potentially added to thenotebook of the docking pane 104, there are n +1 docking areas availablewith the function of creating adding the new content pane, where n isthe number of existing content panes in the notebook of docking pane104.

[0053] In one embodiment, the relative positions of the docking areasindicate their function. In this specific embodiment, the docking areas130-132 are located in the center of the docking map 108 to distinguishthem from other types of docking areas (described further below).Symbols and/or labels can also be used to indicate the type or functionof each docking area. Folder symbols are used to indicate a docking areafor adding a new content pane to an existing notebook. Different foldersymbols (tab on the left, tab in the middle, and tab on the right) areused to indicate different positions for a new tab of a notebook. Inaddition, different labels (“1,” “2,” and “3”) are also used to indicatedifferent positions for a new tab of a notebook. The specific symbols orlabels used or combination thereof can be chosen by the user and willdepend on the specific application. Furthermore, the appearance of thedocking symbols and labels can be chosen by the user to ensure that theyare readable. Furthermore, the docking symbols and labels can be turnedon and off, manually or by default.

[0054] Referring to the docking areas 136-142 of FIG. 6, these dockingareas determine docking pane configurations within the host window 100.Generally, dropping the content pane 102 into one of these docking areas136-142 places the content pane 102 into its own docking pane adjacentto the docking pane 104 (separated by a splitter), and adjacent to theside of the docking pane 104 closest to the docking area into which thecontent pane 102 is dropped FIGS. 10 and 11 show resulting docking paneconfigurations within the host window 100 of FIG. 6 after docking thecontent pane 102 in accordance with an embodiment of the presentinvention. Referring to FIGS. 6 and 10, if the content pane 102 isdropped into the docking area 136, the content pane 102 is placed intoits own docking pane adjacent to and to the right of the docking pane104. Referring to FIGS. 6 and 11, if the content pane 102 is droppedinto the docking area 138, the content pane 102 is placed into its owndocking pane adjacent to and below the docking pane 104, between thedocking panes 104 and 106. Similarly, dropping the content pane 102 intothe docking areas 140 or 142 places the content pane 102 in its owndocking pane adjacent to the left or top of the docking pane 104,respectively.

[0055] The docking areas 136-142 are located along the borders of thedocking pane 104 to distinguish them from other types of docking areas.Arrow symbols are used to indicate the docking location relative to thedocking pane 104, i.e., to the sides of the docking pane 104 to whichthe arrow symbols are pointing. In a preferred embodiment, the dockingmaps are turned on by default. Alternatively, the docking maps, symbols,and labels can be turned on or off, manually or by default.

[0056]FIG. 12 illustrates the docking map 110 of FIG. 4 in accordancewith an embodiment of the present invention. The docking map 110includes docking areas 150-186 for docking the content pane 102 relativeto the docking pane 106. The docking pane 106 has one existing contentpane labeled “Copy.”

[0057] The docking areas 150-156, 123, and 160164 determine notebookconfigurations within the docking pane 106. Generally, dropping thecontent pane 102 into one of these docking areas 150-156, 123, and160-164 places the content pane 102 and the existing copy pane intoa,new notebook in the docking pane 104, and configures the notebook. Asingle notebook symbol is used to indicate the function of these dockingareas 150-156, 123, and 160-164. The orientation of the tabs (bottom,left, top, or right side of the docking pane) and their relative tabpositions are based on the docking area into which the content pane 102is dropped.

[0058] FIGS. 13-15 show resulting configurations of a new notebook ofthe docking pane 106 of FIG. 12 after docking the content pane 102 inaccordance with an embodiment of the present invention. Referring toFIGS. 12 and 13, if the content pane 102 is dropped into the dockingarea 123, the content pane 102 and the copy content pane are placed intoa new notebook indicated by tabs. The notebook is configured such thatthe tabs are at the bottom of the docking pane 106. The content pane 102has an open tab 170 in the right tab position and the copy content panehas a copy tab 172 in the left tab position. Referring to FIGS. 12 and14, if the content pane 102 is dropped into the docking area 160, theresults are the same as those in FIG. 13 except that the open tab 170 isin the left tab position and the copy tab 172 in the right tab position.

[0059] Referring to FIGS. 12 and 15, if the content pane 102 is droppedinto the docking area 162, a new notebook is created for the contentpanes and is configured such that the tabs are at the left of thedocking pane 106. The open tab 170 is in the bottom tab position and thecopy tab 172 is in the top tab position. Similarly, if the content pane102 is dropped into the docking area 164, the results are the same asthose in FIG. 15 except that the open tab 170 would be in the top tabposition and the copy tab 172 would be in the bottom tab position. Ifthe content pane 102 is dropped into the docking areas 150/152 or154/156, the tabs of the notebook are placed at the top or right of thedocking pane 106, respectively. These docking areas 150-156 determinethe relative tab positions in a similar manner described for the dockingareas 123 and 160-164.

[0060] Referring to FIG. 12, the docking areas 180186 function similarlyto the docking areas 136-142 of FIG. 6, respectively.

[0061]FIG. 16 illustrates the docking map 112 of FIG. 4 in accordancewith an embodiment of the present invention. The docking map 112includes docking areas for docking the content pane 102 relative toother docking panes of the host window 100. The docking map 112 includestwo docking areas 187 and 188. And the thumbnail is positioned to selectdocking area 187. FIGS. 17 and 18 show resulting configurations of thecontent pane 102 and the docking panes 104 and 106 of FIG. 16 afterdocking the content pane 102 in accordance with an embodiment of thepresent invention. Referring to FIGS. 16 and 17, if the content pane 102is dropped into the docking area 187, the content pane 102 is dockedadjacent to and to the left of both the docking panes 104 and 106 and isseparated from them by a vertical splitter. Referring to FIGS. 16 and18, if the content pane 102 is dropped into the docking area 188, thecontent pane 102 is docked adjacent to and to the right of both thedocking panes 104 and 106 and is separated from them by a verticalsplitter bar. Alternatively, a docking map can be created for anysplitter depending on which content pane is grabbed for undocking anddocking. For example, if the content pane of the docking pane 106 weregrabbed, a docking map could appear over the vertical splitter betweenthe content pane 102 and the docking pane 104.

[0062]FIG. 19 illustrates the thumbnail 114 of FIG. 4 in accordance witha preferred embodiment of the present invention. The thumbnail 114comprises the hotspot 116, which is indicated visually to the user sothat the thumbnail 114 can be more accurately placed over a targetdocking area. The hotspot 116 can be made visually distinct from theother portions of the thumbnail by varying the shape, color, shading,texture, size, docking area of the hotspot 116, or any combinationthereof. In a preferred embodiment, the hotspot 116 is shown as a darktriangle in the upper-left comer of the thumbnail 114. Alternatively,the hotspot 116 can be located on other comers or parts of the thumbnail114 (e.g., in the center). With the hotspot 116, the thumbnail 114represents a pointer in that the visible hotspot 116 is used toaccurately navigate the content pane 102 over a target docking area.When the thumbnail 114 appears, it replaces the pointer. Alternatively,both an outline of the content pane 102 being dragged by the pointer andthe pointer can shrink down to or be replaced by the thumbnail 114.

[0063] When the content pane 102 is floatable (i.e., not currently overa docking area), an outline of the content pane 102 is dragged where theoutline represents the content pane 102 being dragged until it isdropped. Alternatively, the thumbnail 114 can appear in place of theoutline and pointer immediately when the content pane 102 is dragged. Assuch, the thumbnail 114 represents the content pane 102 being draggedand is proportional to the content pane 102. As such, the thumbnail iscalled the drag window.

[0064] When the content pane 102 is dockable (i.e., currently over adocking area), the thumbnail 114 represents the content pane 102 beingdragged (as well as a pointer). In one embodiment, the thumbnail 114 hasthe size of about 4000 pixels (about 4 times the largest mouse pointeron Windows).

[0065] In addition, when the content pane 102 is dockable, the thumbnail114 displays a preview of the final configuration of the host window 100(i.e., notebook configuration and/or docking pane configuration). Asillustrated in FIG. 19, the hotspot 116 is placed the docking area 123and if dropped will result in a particular final configuration in thehost window 100. This final configuration will be displayed on thethumbnail 114. In other words, the thumbnail 114 is a miniaturerepresentation of the host window 100 after the content pane 102 isdocked.

[0066] The thumbnail 114 indicates a splitter with a straight line, anotebook with a bent line, and the content pane being dragged with theselection-background color, with the same look and feel. Still referringto FIG. 19, the lower section 190 of the thumbnail 114 corresponding tothe docking pane 106 is darkened. Also, the tab-shaped section 192 ofthe thumbnail 114 corresponding to a new notebook tab is darkened. Thetab-shaped section 192 is darkened to a lighter shade than the lowersection 190 such that both the lower section 190 and the tabshapedsection 192 are visible and distinct. Alternatively, areas of thethumbnail 114 can be beveled to more clearly indicate the finalconfiguration of the of the host window, including the content pane.Shallow to deep relief bevels can be used with varying pixel depths toadjust the clarity.

[0067] In a preferred embodiment, a content pane that has been grabbedfor undocking or docking can be darkened to distinguish it visually fromthe docking panes. The content pane that is dragged is darkened to bedistinctly darker than the content panes of the docking panes that thedocking maps overlay. The content pane that is dragged can be darkenedwith a semitransparent screen overlay. The color of the semitransparentscreen can be the same as the highlight color of the thumbnail, thecolors of which can be changed by the user. In addition, the areasbehind the docking maps can be dimmed/lightened to render the lines andsymbols of the docking maps more clearly. These lightened areas aredistinctly lighter than the content pane being dragged. This helps inidentifying the content pane being dragged and to view the decking mapsmore clearly. In one embodiment, the target area is dimmed by 50%.

[0068]FIG. 20 illustrates the content pane 102 of FIG. 4 in accordancewith an embodiment of the present invention. To drag the content pane102, the pointer or cursor is placed over a drag bar 194. When thecontent pane 102 is docked, it has a title bar 196 and the drag bar 194becomes visible when the cursor is placed over the title bar 196. Thecursor can change when it is placed over the drag bar 194 or the titlebar 196 (e.g., from a typical mouse pointer to an open hand). The cursorcan change again when the mouse button is pressed (e.g., from an openhand to a closed or grabbing hand). The specific cursor used will dependon the specific application. While a mouse is typically used to drag thecontent pane 102, one of ordinary skill in the art readily recognizesthat any type of pointing device could be used and that use would bewithin the spirit and scope of the present invention.

[0069] There are no restrictions as to where the content pane 102 can bedropped. If the content pane 102 is not dropped in a docking area of adocking map, the content pane 102 floats (i.e., remains within its owndocking pane and undocked) and is positioned at the location where thecontent pane 102 was dropped. Dragging a floating content pane by itstitle bar merely moves the content pane together with its docking pane.Docking a floating content pane can be accomplished by grabbing its dragbar 194. When the content pane 102 is floating, its drag bar 194 isvisible. The title bar or the drag bar can be oriented horizontally(preferably at the top of the content pane) or vertically (preferably atthe left of the content pane).

[0070] If a docked content pane is closable, its title bar can have aclose button. When the close button is selected, the content pane ishidden. If a docked content pane is not closable, it does not have aclose button when docked and has a close button when floating. Thecontent pane, if floating, returns to its parent pane when the closebutton is selected. A content pane can have a collapse button with thefollowing states: disabled, maximize, minimize, restore, and hidden, andthe following icons: disabled (unavailable), maximize, minimize, andrestore.

[0071] The docking panes 104 and 106 can also be undocked and docked ina similar manner described above for the content pane 102. If a contentpane to be undocked and docked already has within it an existingnotebook with content panes, each content pane can be dragged separatelyin the manner described above. The docking pane in which the draggedcontent pane stays behind with one less content pane in its notebook.The dragged content pane can then be placed into a new notebook inanother docking pane or can be put into its own docking pane.Alternatively, a set of content panes can be dragged together. Therelative positions of their tabs would remain the same even when dockedinto another docking pane with its own existing notebook andcorresponding tabs. The set of tabs from the content panes to beundocked and docked can be treated like a single tab relative to theother tabs. Of course the positions of all tabs can be later reordered.Furthermore, floating content panes can be docked in a similar mannerdescribed above.

[0072] A tool bar 198 can also be undocked and docked in a similarmanner described above for the content pane 102. The tool bar 198 can befloated or docked and can be dragged by its border. The tool bar 198 canbe docked by closing its floating pane, or by grabbing its border anddragging the resulting thumbnail to a docking area. A thumbnail for atool bar can have two appearances. When the tool bar is floatable, thethumbnail has the size of the floating pane (i.e., the pane of the toolbar as it floats). When the tool bar is dockable, it has floating thesize of a docked toolbar.

[0073] The preferred embodiment in accordance with the present inventionhas the following advantages over conventional docking and undockingschemes. A content pane can be docked precisely with predictability.Furthermore, the docking of the content pane can determine a notebookconfiguration within a docking pane and/or a docking pane configurationwithin a host window. Furthermore, the content pane can be droppedanywhere in the host window without restrictions because if the contentpane is not dropped in a docking area, the content pane floats.

[0074] A method and system in accordance to the present invention forproviding feedback for docking a content pane in a host window isdisclosed. The method and system provide one or more docking maps thatinclude a plurality of docking areas into which a content pane can bedropped for docking into a host window. To facilitate in the dockingprocedure, a thumbnail associated with the content pane is provided, andthe thumbnail has a visible hotspot making it easier to position thecontent pane over one of the docking areas. The hotspot indicates thatthe content pane can be accurately dropped into one of the dockingareas. In addition, the docking areas provide multiple notebookconfigurations and provide multiple docking pane configurations based onthe docking area into which the content pane is dropped. As a result, auser can precisely predict the final configuration of the host window,i.e., how the content pane will be docked and how the docking panes willadjust.

[0075] Although the present invention has been described in accordancewith the embodiments shown, one of ordinary skill in the art willreadily recognize that there could be variations to the embodiments andthose variations would be within the spirit and scope of the presentinvention. Accordingly, many modifications may be made by one ofordinary skill in the art without departing from the spirit and scope ofthe appended claims.

What is claimed is:
 1. A method for providing feedback concerning acontent pane to be docked in a host window, the method comprising: (a)providing at least one docking map, wherein the at least one docking mapincludes a plurality of docking areas therewithin; (b) positioning athumbnail associated with a content pane over one of the plurality ofdocking areas; and (c) providing a hotspot visually on the thumbnail,wherein the hotspot indicates that the content pane can be dropped intothe one docking area.
 2. The method of claim 1 further comprising (d)providing at least one docking pane, wherein the at least one dockingmap is associated with the at least one docking pane.
 3. The method ofclaim 2 further comprising (e) darkening the content pane to distinguishit from the at least one docking pane.
 4. The method of claim 2 furthercomprising (e) lightening the at least one docking pane to render the atleast one docking map more clearly.
 5. The method of claim 1 furthercomprising: (d) generating a preview of a final configuration of thehost window; and (e) displaying the preview on the thumbnail.
 6. Themethod of claim 5 wherein the final configuration indicates at least oneof a configuration of tabs in a notebook and a configuration of aplurality of docking panes in the host window.
 7. The method of claim 1wherein the hotspot providing (c) further comprises (c1) visuallydistinguishing the hotspot from other portions of the thumbnail byvarying at least one of the shape, color, shading, texture, and size ofthe hotspot.
 8. The method of claim 1 further comprising (d) floatingthe content pane when it is placed but not placed into one of theplurality of docking areas, wherein there are no restrictions as towhere the content pane can be placed.
 9. The method of claim 1 furthercomprising (d) generating at least one new notebook when the contentpane is dropped into one of the plurality of docking areas.
 10. Themethod of claim 9 further comprising (e) configuring the at least onenew notebook based on the docking area into which the content pane isdropped.
 11. The method of claim 1 further comprising (d) configuring aplurality of docking panes based on a docking area into which thecontent pane is dropped.
 12. A computer readable medium containingprogram instructions for providing feedback concerning a content pane tobe docked in a host window, the program instructions which when executedby a computer system cause the computer system to execute a methodcomprising: (a) providing at least one docking map, wherein the at leastone docking map includes a plurality of docking areas therewithin; (b)positioning a thumbnail associated with a content pane over one of theplurality of docking areas; and (c) providing a hotspot visually on thethumbnail, wherein the hotspot indicates that the content pane can bedropped into the one docking area.
 13. The computer readable medium ofclaim 12 further comprising (d) providing at least one docking pane,wherein the at least one docking map is associated with the at least onedocking pane.
 14. The computer readable medium of claim 13 furthercomprising program instructions for (e) darkening the content pane todistinguish it from the at least one docking pane.
 15. The computerreadable medium of claim 13 further comprising program instructions for(e) lightening the at least one docking pane to render the at least onedocking map more clearly.
 16. The Computer readable medium of claim 12further comprising: (d) generating a preview of a final configuration ofthe host window; and (e) displaying the preview on the thumbnail. 17.The computer readable medium of claim 16 wherein the final configurationindicates at least one of a configuration of tabs in a notebook and aconfiguration of a plurality of docking panes in the host window. 18.The computer readable medium of claim 12 wherein the hotspot providing(c) further comprises (c1) visually distinguishing the hotspot fromother portions of the thumbnail by varying at least one of the shape,color, shading, texture, and size of the hotspot.
 19. The computerreadable medium of claim 12 wherein the hotspot providing (c) furthercomprises (c1) positioning the hotspot in a corner of the thumbnail. 20.The computer readable medium of claim 12 further comprising programinstructions for (d) floating the content pane when it is dropped butnot dropped into one of the plurality of docking areas, wherein thereare no restrictions as to where the content pane can be dropped.
 21. Thecomputer readable medium of claim 12 further comprising programinstructions for (d) generating at least one new notebook when thecontent pane is dropped into one of the plurality of docking areas. 22.The computer readable medium of claim 21 further comprising programinstructions for (e) configuring the at least one new notebook based onthe docking area into which the content pane is dropped.
 23. Thecomputer readable medium of claim 12 further comprising programinstructions for (d) configuring a plurality of docking panes based on adocking area into which the content pane is dropped.
 24. The computerreadable medium of claim 12 wherein at least one of a symbol, a label,and the relative position of the at least one docking area visuallyindicates its function.
 25. The computer readable medium of claim 12wherein the thumbnail represents a pointer.
 26. The computer readablemedium of claim 12 wherein the at least one docking map can be used fordocking a tool bar.
 27. A system for providing feedback concerning acontent pane to be docked in a host window, the system comprising: atleast one docking map, wherein the at least one docking map includes aplurality of docking areas therewithin; and a thumbnail associated witha content pane, wherein the thumbnail represents the content pane as itis dragged over one of the plurality of docking areas, the thumbnailcomprising a hotspot, wherein the hotspot is visually distinct from theother portions of the thumbnail, and wherein the hotspot indicates thatthe content pane can be dropped into the one docking area.
 28. Thesystem of claim 27 wherein the hotspot is positioned in a corner of thethumbnail.
 29. The system of claim 27 wherein the thumbnail represents afinal configuration of the host window.
 30. The system of claim 29wherein the final configuration indicates at least one of a notebookconfiguration and a configuration of a plurality of docking panes.